<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>添加删除练习</title>
    <style>
        *{
            margin: 5px auto;
            padding: 0px;
            text-align: center;
            
        }
        table{
            border: 1px solid  rgb(255, 0, 0);
            background-color: rgb(149, 230, 255);
        }
        th{
            font-weight: bolder;
        }
        td{
            border: 1px solid rgb(255, 88, 88);
            width: 100px;
            font-size: 17px;
        }
    </style>
</head>
<body>
    <!-- 删除 ❗❗ -->
    <table id="employeeTable">
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Salary</th>
            <th>&nbsp;</th>
        </tr>
        <tr>
            <td>Tom</td>
            <td>tom@tom.com</td>
            <td>5000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
        <tr>
            <td>Jerry</td>
            <td>Jerry@sohu.com</td>
            <td>8000</td>
            <td><a href="deleteEmp?id=002">Delete</a></td>
        </tr>
        <tr>
            <td>Bob</td>
            <td>bob@tom.com</td>
            <td>10000</td>
            <td><a href="deleteEmp?id=003">Delete</a></td>
        </tr>
    </table>
    <!-- 添加 -->
    <div id="formDiv">
        <h4>添加新员工</h4>
        <table>
            <tr>
                <td class="word">name: </td>
                <td class="inp">
                    <input type="text" name="empName" id="empName">
                </td>
            </tr>
            <tr>
                <td class="word">email: </td>
                <td class="inp">
                    <input type="text" name="email" id="email">
                </td>
            </tr>
            <tr>
                <td class="word">salary: </td>
                <td class="inp">
                    <input type="text" name="salary" id="salary">
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <button id="addEmpButton">
                        Submit
                    </button>
                </td>
            </tr>
        </table>
    </div>

</body>
</html>
<script>
    /*
        添加一个删除功能
            点击 Delete 后可以删除一行内容

    */

    // 创建一个函数，将删除操作封装到函数里
    function delA(){
            // 获取 a 父节点 的 父节点 tr
            var tr = this.parentNode.parentNode;

            // 删除 tr
            // 删除之前判断是否确认删除
            // 获取 name tr 的第一个子节点
            name = tr.getElementsByTagName("td")[0].innerHTML;
            var queRen = confirm("是否要删除"+name); 
            if(queRen){
                tr.parentNode.removeChild(tr);
            }
            
            // 添加 return false 取消跳转
            return false;
    }
    
    // 获取 所有的 a 标签
    var allA = document.getElementsByTagName("a");

    // 遍历 a 数组
    for(var i=0;i<allA.length;i++){
        // 为每个 a 设置一个单击响应函数
        allA[i].onclick = delA;
    }

    /*
        编写一个添加功能
            用户点击按钮后，会将信息添加到上面的表格
    */

    // 获取 id 为 addEmpButton的按钮，并为其添加单击响应事件
    var addEmpButton = document.getElementById("addEmpButton");
    addEmpButton.onclick = function(){

        // 获取用户填写的信息
        var name = document.getElementById("empName").value;
        var email = document.getElementById("email").value;
        var salary = document.getElementById("salary").value;

        // 将获取到的信息 先添加到 tr中
        // 创建一个 tr 节点
        var tr = document.createElement("tr");
        tr.innerHTML = "<td>"+name+"</td>"+
                "<td>"+email+"</td>"+
                "<td>"+salary+"</td>"+
                "<td><a href='JavaScript'>Delete</a></td>";

        // 因为 tr 里的内容是后添加的，所以此时的 a 没有绑定单击响应函数，
        // 先获取到 tr 下的 a 元素
        var a = tr.getElementsByTagName("a")[0];    
        a.onclick = delA;           //在此处给 a 绑定单击响应事件函数


        /*
            浏览器自动给 table添加了tbody，此时的 tr 被添加到了 table 中 
            为了不影响程序需要将 tr 添加到 tbody 中，获取 table 中的 tbody
        */

        // 先获取 table
        var table = document.getElementById("employeeTable");
        // 在获取 tbody
        var tBody = table.getElementsByTagName("tbody")[0]; 
        // 将 tr 添加到 tbody 中
        tBody.appendChild(tr);
    }
</script>